package com.to8to.autotask;

import java.util.List;

import org.apache.thrift.TException;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.to8to.autotask.rpc.CallClient;
import com.to8to.autotask.util.Utils;
import com.to8to.thrift.crm.autotask.AutoTaskService;

/**
 * AutoTaskClient.java
 * 作 者：atom.liu
 * 版 本：v2.0
 * 日 期：2014年12月18日
 * 描 述：测试客服端。
 */
public class AutoTaskClient
{
    private static final Logger logger = LoggerFactory.getLogger(AutoTaskClient.class);

    private static final AutoTaskService.Iface service = CallClient.getInstance().getAutoTaskService();

    /**
     * 测试分配审核客服。触发一次自动分配。
     */
    @Test
    public void testAllocateSHKF()
    {
        try
        {
            service.allocateSHKF();
            logger.info("提交分配任务成功");
        }
        catch (TException e)
        {
            logger.error("提交分配任务失败", e);
        }
    }

    /**
     * 测试客服心跳接口。
     */
    @Test
    public void testActiveOnline()
    {
        int uid = 123456;//客服id

        try
        {
            service.activeOnline(uid);
            logger.info("发送心跳成功");
        }
        catch (TException e)
        {
            logger.info("调用服务异常，发送心跳失败！", e);
        }
    }

    /**
     * 测试获取在线额客服接口
     */
    @Test
    public void testGetOnlineUser()
    {
        try
        {
            List<Integer> userIds = service.getOnlineUser();
            logger.info("Result : " + Utils.collect2Str(userIds));
        }
        catch (TException e)
        {
            logger.info("调用服务异常，获取在线客服异常！", e);
        }
    }

    /**
     * 测试是否需要扣滞纳金接口。
     */
    @Test
    public void testIsCostForfeit()
    {
        int uid = 345517; //公司id
        int yid = 28827; //项目id
        int fz_city = 1; //公司所在城市

        try
        {
            int result = service.isCostForfeit(uid, yid, fz_city);
            logger.info("Result : " + result);
        }
        catch (TException e)
        {
            logger.info("调用服务异常，获取是否需要扣滞纳金异常！", e);
        }
    }
}
